/*
 * Clase contenedora de datos de la tabla tipo_producto
*/
package pojos;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;

/** 
 * @author seiloprub 
 */

public class TipoProducto implements Pojo{

    private int id;
    private String tprod_nombre;
    
    public TipoProducto (int id, String tprod_nombre) {
        this.id=id;
        this.tprod_nombre=tprod_nombre;
    }
    
    public TipoProducto (String tprod_nombre) {
        this.id=-1;
        this.tprod_nombre=tprod_nombre;
    }

    /**
     * @return the id
     */
    public int getId() {
        return id;
    }

    /**
     * @return the nombre
     */
    public String getTprod_nombre() {
        return tprod_nombre;
    }
    
    /**
     * guarda y actualiza el tipo de producto
     */
    @Override
    public int guardar(Connection con) {
        int count = 0;
        if (this.getId() == -1) {
            PreparedStatement stmt = null;              
            String sql="INSERT INTO tipo_producto(tprod_nombre)"
                        + " VALUES(?)";
            try {
                stmt = con.prepareStatement(sql);
                //poner los valores
                stmt.setString(1, this.getTprod_nombre());
                // ejecutar
                count=stmt.executeUpdate();
            } catch (SQLException ex) {
                Logger.getLogger(Usuario.class.getName()).log(Level.SEVERE, null, ex);
            } finally {
                try {
                    if (stmt != null) {
                        stmt.close();
                    }
                } catch (SQLException ex) {
                    Logger.getLogger(Usuario.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        } else {
            PreparedStatement stmt = null;
            String sql="UPDATE tipo_producto SET tprod_nombre=? WHERE id=?";
            try {
                stmt = con.prepareStatement(sql);
                //poner los valores
                stmt.setString(1, this.getTprod_nombre());
                stmt.setInt(10, this.getId());
                // ejecutar
                count=stmt.executeUpdate();
            } catch (SQLException ex) {
                Logger.getLogger(Usuario.class.getName()).log(Level.SEVERE, null, ex);
            } finally {
                try {
                    if (stmt != null) {
                        stmt.close();
                    }
                } catch (SQLException ex) {
                    Logger.getLogger(Usuario.class.getName()).log(Level.SEVERE, null, ex);
                }
            }  
        }
        return count;
    }

    /**
     * borra el tipo de producto
     */
    @Override
    public int borrar(Connection con) {
        int count=0;
        String sql="DELETE FROM tipo_producto WHERE id=?";
        PreparedStatement stmt=null;
        try {
            stmt=con.prepareStatement(sql);
            //poner los valores
            stmt.setInt(1, this.getId());
            // ejecutar
            count=stmt.executeUpdate();            
        } catch (SQLException ex) {             
            Logger.getLogger(Producto.class.getName()).log(Level.SEVERE, null, ex);
        } finally {            
            try {
                if(stmt!=null) {
                    stmt.close();
                }                
            } catch (SQLException ex) {
                Logger.getLogger(Producto.class.getName()).log(Level.SEVERE, null, ex);
            }  
        }
        return count;
    } 
}
